import { ajax, base, toast } from 'nc-lightapp-front';
import requestApi from '../requestApi';

export default function afterEvent(props, moduleId, key, value, changedrows, index, record) {
    console.log('编辑后事件props', props);
    console.log('编辑后事件moduleId', moduleId);
    console.log('编辑后事件key', key);
    console.log('编辑后事件value', value);
    const multiLang = props.MutiInit.getIntl(2011);
    switch (moduleId) {
        case 'rule_code': // 表头form
            if (key === 'rule_type') {
                // 分摊方式  //平均分摊 1 // 按比例分摊 2 //按金额分摊 3
                switch (value.value) {
                    case '1': // 平均分摊
                        props.editTable.hideColByKey('rule_data', 'assume_amount');
                        props.editTable.hideColByKey('rule_data', 'share_ratio');
                        break;
                    case '2': // 按比例分摊
                        props.editTable.hideColByKey('rule_data', 'assume_amount');
                        props.editTable.showColByKey('rule_data', 'share_ratio');
                        break;
                    case '3': // 按金额分摊
                        props.editTable.hideColByKey('rule_data', 'share_ratio');
                        props.editTable.showColByKey('rule_data', 'assume_amount');
                        break;
                    default:
                        // 空状态
                        props.editTable.hideColByKey('rule_data', 'assume_amount');
                        props.editTable.hideColByKey('rule_data', 'share_ratio');
                        break;
                }
            } else if (key === 'ruleobj_name') {
                // 分摊对象
                let meta = props.meta.getMeta();
                if (meta && meta.rule_data && meta.rule_data.items && meta.rule_data.items.length) {
                    if (value.refcode.indexOf('.') > -1) {
                        toast({ content: multiLang.get('201103FTGZ-0004'), color: 'warning' }); //'不可选择非一级数据'
                        props.form.setFormItemsValue('rule_code', { ruleobj_name: { value: null, display: null } });
                    } else {
                        meta.rule_data.items.forEach((item) => {
                            props.editTable[value.refcode === item.attrcode ? 'showColByKey' : 'hideColByKey'](
                                'rule_data',
                                item.attrcode
                            );
                        });
                    }
                    let formItem = props.form.getFormItemsValue('rule_code', 'rule_type');
                    if(formItem.value === '1') {
                        props.editTable.hideColByKey('rule_data', 'share_ratio')
                        props.editTable.hideColByKey('rule_data', 'assume_amount')
                    } else {
                        props.editTable.showColByKey('rule_data', formItem.value === '3' ? 'assume_amount' : 'share_ratio'); //按金额分摊 assume_amount value=2 按比例分摊 share_ratio  value=3
                    }
                }
            }
            break;
        case 'rule_data': // 表体table
            if (key != 'share_ratio' && key != 'assume_amount') {
                let data = props.editTable.getAllData(moduleId);
                let sameRowIndex = data.rows.findIndex(item => item.values[key].value == value.value && item.rowid != record.rowid);
                if(sameRowIndex >= 0) {
                    toast({content: multiLang.get('201103FTGZ-0005'), color: 'warning'});//'分摊规则的分摊对象不能重复!'
                    props.editTable.setValByKeyAndIndex(moduleId, index, key, changedrows[0].oldvalue);
                }
            }
            break;
        default:
            break;
    }
}
